package com.tangyh.basic.sign.bean;
/**
 * @description  轩辕API流程基本信息
 * @author  澄泓
 * @date  2020/10/27 14:07
 * @version JDK1.7
 */
public class FlowInfo {

    /**
     * 是否自动归档，默认false。
     */
    private boolean autoArchive;
    /**
     * 是否自动开启，默认false。
     */
    private boolean autoInitiate;
    /**
     * 本次签署流程的文件主题名称
     * 注：名称不支持以下9个字符：/ \ : * " < > | ？
     */
    private String businessScene;
    /**
     * 本次签署的续签提醒时间。
     * 单位：小时，默认不提醒。
     * 注：时间区间[1-360]，可通过短信、邮件、异步通知等方式触发续签通知
     */
    private Integer contractRemind;
    private Integer contractValidity;
    private FlowConfigInfo flowConfigInfo;
    /**
     * 发起人账户id，即发起本次签署的操作人个人账号id；如不传，默认由对接平台发起
     */
    private String initiatorAccountId;
    /**
     * 发起方主体id，如存在个人代机构发起签约，则需传入机构id；如不传，则默认是对接平台
     */
    private String initiatorAuthorizedAccountId;
    private String remark;
    /**
     * 本次签署流程的截止时间。
     * 时间戳格式，单位：毫秒，默认永久有效。
     * 注：超过签署有效截止时间，则无法继续签署。
     */
    private String signValidity;

    public boolean isAutoArchive() {
        return autoArchive;
    }

    public FlowInfo setAutoArchive(boolean autoArchive) {
        this.autoArchive = autoArchive;
        return this;
    }

    public boolean isAutoInitiate() {
        return autoInitiate;
    }

    public FlowInfo setAutoInitiate(boolean autoInitiate) {
        this.autoInitiate = autoInitiate;
        return this;
    }

    public String getBusinessScene() {
        return businessScene;
    }

    public FlowInfo setBusinessScene(String businessScene) {
        this.businessScene = businessScene;
        return this;
    }

    public Integer getContractRemind() {
        return contractRemind;
    }

    public FlowInfo setContractRemind(Integer contractRemind) {
        this.contractRemind = contractRemind;
        return this;
    }

    public Integer getContractValidity() {
        return contractValidity;
    }

    public FlowInfo setContractValidity(Integer contractValidity) {
        this.contractValidity = contractValidity;
        return this;
    }

    public FlowConfigInfo getFlowConfigInfo() {
        return flowConfigInfo;
    }

    public FlowInfo setFlowConfigInfo(FlowConfigInfo flowConfigInfo) {
        this.flowConfigInfo = flowConfigInfo;
        return this;
    }

    public String getInitiatorAccountId() {
        return initiatorAccountId;
    }

    public FlowInfo setInitiatorAccountId(String initiatorAccountId) {
        this.initiatorAccountId = initiatorAccountId;
        return this;
    }

    public String getInitiatorAuthorizedAccountId() {
        return initiatorAuthorizedAccountId;
    }

    public FlowInfo setInitiatorAuthorizedAccountId(String initiatorAuthorizedAccountId) {
        this.initiatorAuthorizedAccountId = initiatorAuthorizedAccountId;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public FlowInfo setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    public String getSignValidity() {
        return signValidity;
    }

    public FlowInfo setSignValidity(String signValidity) {
        this.signValidity = signValidity;
        return this;
    }
}
